﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using VINETLIFE.BL;
using VINETLIFE.DO;
using System.Data;
using System.Web.UI.HtmlControls;
using System.Net.Mail;
using System.Web.Security;
using System.Text.RegularExpressions;
using VINETLIFE.AdminCP;

namespace VINETLIFE
{
    public partial class Login : System.Web.UI.Page
    {
        cmsCustomerDO objCust = new cmsCustomerDO();
        
        protected void Page_Load(object sender, EventArgs e)
        {
            txtUserName.Focus();
            if (Session["CustomerId"] != null)
            {
                Response.Redirect("/trang-ca-nhan/");
            }
            if (!IsPostBack)
            {
                txtUserName.Attributes.Add("onkeypress", "doClick('" + btnLogin.ClientID + "',event)");
                txtPass.Attributes.Add("onkeypress", "doClick('" + btnLogin.ClientID + "',event)");
                LoadSEO();
            }
        }
        private void LoadSEO()
        {
            //SEO
            Page.Title = "Đăng nhập | " + Ultility.WebTitle();

            sysConfigDO objConfig = new sysConfigDO();
            objConfig.ConfigID = 2;

            objConfig = new sysConfigBL().Select(objConfig);


            HtmlMeta metaKey = new HtmlMeta();
            metaKey.Name = "keywords";
            metaKey.Content = objConfig.ConfigValue;
            Page.Header.Controls.Add(metaKey);


            objConfig.ConfigID = 3;
            objConfig = new sysConfigBL().Select(objConfig);
            HtmlMeta metaDesc = new HtmlMeta();
            metaDesc.Name = "description";
            metaDesc.Content = objConfig.ConfigValue;
            Page.Header.Controls.Add(metaDesc);
            pnlLogin.Visible = true;
            pnEmail.Visible = false;
        }

        protected void btnSignUp_Click(object sender, EventArgs e)
        {
            Response.Redirect("/dang-ky/");
        }

        protected void btnLogin_Click(object sender, EventArgs e)
        {
            string sPass = VINETLIFE.AdminCP.Functions.EncryptMd5(txtPass.Text.Trim());
            DataTable dtUser = new cmsCustomerBL().SelectLogin(txtUserName.Text.Trim(), sPass);
            if (dtUser.Rows.Count > 0)
            {
                Session["FullName"] = dtUser.Rows[0]["FullName"].ToString();
                Session["CustomerId"] = dtUser.Rows[0]["ID"].ToString();
                Session["UserName"] = dtUser.Rows[0]["UserName"].ToString();
                string urlReturn = "";
                if (Request.QueryString["ReturnURL"] != null)
                    urlReturn = Request.QueryString["ReturnURL"].ToString();
                if (string.IsNullOrEmpty(urlReturn))
                    Response.Redirect("/");
                else
                    Response.Redirect(urlReturn);

            }
            else
            {
                VINETLIFE.AdminCP.Functions.Alert("Sai tên đăng nhập hoặc mật khẩu!!!", "/dang-nhap/");
            }
        }

        protected void btnQuenMK_Click(object sender, EventArgs e)
        {
            pnlLogin.Visible = false;
            pnEmail.Visible = true;
        }
        string strFromMail = "contact.topbike@gmail.com";
        string strFromPass = "topbike@123";
        protected void btnGui_Click(object sender, EventArgs e)
        {
            if (txtEmail.Text != "")
            {
                SendMail();
                Functions.Alert("Mật khẩu mới đã được gửi vào Email của bạn!!! Vui lòng check Email để lấy lại mật khẩu.");
            }
            else
            {
                Functions.Alert("Email chưa được nhập!!!");
                pnEmail.Visible = true;
                pnlLogin.Visible = false;
            }
        }
        void SendMail()
        {
            string newPassword = Membership.GeneratePassword(8, 0);
            newPassword = Regex.Replace(newPassword, @"[^a-zA-Z0-9]", m => "9");
            objCust = new cmsCustomerBL().Select(objCust);

            DateTime now = DateTime.Now;
            string date = now.Day + " - " + now.Month + " - " + now.Year;
            MyShopCart myShop = (MyShopCart)Session["shop"];
            //string totalCost = String.Format("{0:0,0}", myShop.GetTotalCost());
            DataTable dtEmail = new cmsCustomerBL().SelectEmail(txtEmail.Text);
            if (dtEmail.Rows.Count != 0)
            {
                objCust.Id = int.Parse(dtEmail.Rows[0]["Id"].ToString());

                string content = "";
                content += "<p>Thông tin tài khoản khách hàng</p><br/>";
                content += "<p>Họ tên : " + dtEmail.Rows[0]["FullName"].ToString() + "</p><br/>";
                content += "<p>Địa chỉ : " + dtEmail.Rows[0]["Address"].ToString() + "</p><br/>";
                content += "<p>Điện thoại : " + dtEmail.Rows[0]["Phone"].ToString() + "</p><br/>";
                content += "<p>Email : " + txtEmail.Text + "</p><br/>";

                content += "<p>Mật khẩu mới : " + newPassword + "</p><br/>";
                //int count_item = 1;
                //foreach (var item in myShop.ListProduct)
                //{
                //    content += "<tr><td style='width:100px'>Sản phẩm " + count_item + "</td><td>" + item.Name + " - Mã : " + item.Id + " - Số lượng : " + item.Quantity + " - Giá : " + String.Format("{0:0,0}", item.Cost) + "</td></tr>";
                //    count_item++;
                //}
                //content += "<tr bgcolor='#999999' style='color:#FFF'><td colspan='2'>Tổng giá trị : " + totalCost + "</td></tr>";
                content += "Ngày gửi : " + DateTime.Now + "</p><br/>";
                Myfunction.SendMail(strFromMail, strFromPass, "Mật khẩu mới", txtEmail.Text.Trim(), "Hãy đăng nhập rồi đổi lại mật khẩu " + now.ToString(), content);


                objCust.Password = Ultility.EncryptMd5(newPassword);
                //Session["RegisterDay"] = dtEmail.Rows[0]["RegisterDay"].ToString();
                //Session["Brithday"] = dtEmail.Rows[0]["Brithday"].ToString();
                objCust.RegisterDay = Convert.ToDateTime(dtEmail.Rows[0]["RegisterDay"].ToString());
                objCust.Brithday = Convert.ToDateTime(dtEmail.Rows[0]["Brithday"].ToString());
                objCust.FullName = dtEmail.Rows[0]["FullName"].ToString();
                objCust.UserName = dtEmail.Rows[0]["UserName"].ToString();
                objCust.Email = txtEmail.Text;
                objCust.Phone = dtEmail.Rows[0]["Phone"].ToString();
                objCust.Address = dtEmail.Rows[0]["Address"].ToString();
                objCust.IsEnable = true;
                objCust.IsVangLai = false;
                if ((Boolean)dtEmail.Rows[0]["Sex"] == true)
                {
                    objCust.Sex = true;
                }
                else
                {
                    objCust.Sex = false;
                }
                new cmsCustomerBL().Update(objCust);
            }
            else
            {
                Functions.Alert("Địa chỉ Email không tồn tại trong hệ thống!!!");
            }
        }
    }
}